#ifndef IFU_CONF_H
#define IFU_CONF_H 1

#include <string>

using namespace std;

class IFUConf {

 public:
  IFUConf(const string &filename);
  ~IFUConf();

  void setNMaskHor(int nHor);
  void setNMaskVer(int nVer);
  void setMaskBasename(const string &basename);
  void setMaskExt(const string &maskExt);
  void setFilename(const string &filename);
  void setColToAvg(int colToAvg);
  void setColStep(int colStep);
  void setNAgSim(int nAgSim);
  void setNGSim(int nGSim);
  void setAvgSigma(int avgSigma);
  void setPlot(bool plot);

  int getNMaskHor();
  int getNMaskVer();
  const string &getMaskBasename();
  const string &getMaskExt();
  const string &getFilename();
  int getColToAvg();
  int getColStep();
  int getNAgSim();
  int getNGSim();
  float getAvgSigma();
  bool getPlot();

  void dump();

 private:
  int nMaskHor;
  int nMaskVer;
  string maskBasename;
  string maskExt;
  string filename;
  int colToAvg;
  int colStep;
  int nAgSim;
  int nGSim;
  float avgSigma;
  bool plot;

  void read();

};

#endif /* !IFU_CONF_H */
